package datastructure.ch05_queues.ch02_interface_abstarct;

/**
 * 普通队列
 *
 * @author guodd
 * @version 1.0
 */
public interface Queue<E> {
    /**
     * 获取队列中元素的个数
     *
     * @return
     */
    int getSize();

    /**
     * 判断队列是否为空
     *
     * @return
     */
    boolean isEmpty();

    /**
     * 清空队列
     */
    void clear();

    /**
     * 入队
     *
     * @param e
     */
    void enqueue(E e);

    /**
     * 出队
     *
     * @return
     */
    E dequeue();

    /**
     * 获取队首元素
     *
     * @return
     */
    E getFront();

}
